home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
User's Choice Windows CD
/
User's Choice Windows CD (CMS Software)(1993).iso
/
utility2
/
wine02bx.zip
/
LISP
/
MODES
/
ICON.ELC
< prev
next >
Wrap
Text File
|
1993-03-28
|
9KB
|
92 lines
;;; compiled by @win386 on Sat Mar 13 14:31:41 1993
;;; from file c:/src/lucid-19.4/lisp/modes/icon.el
;;; emacs version 19.3 Lucid.
;;; bytecomp version 2.08; 27-aug-92.
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs18.
(if (and (boundp 'emacs-version)
(or (and (boundp 'epoch::version) epoch::version)
(string-lessp emacs-version "19")))
(error "This file was compiled for Emacs19."))
(defvar icon-mode-abbrev-table nil "\
Abbrev table in use in Icon-mode buffers.")
(define-abbrev-table 'icon-mode-abbrev-table nil)
(defvar icon-mode-map nil "\
Keymap used in Icon mode.")
(byte-code "¼│┴ ┬├─#ê┬┼─#ê┬╞╟#ê┬╚╔#ê┬╩╦#ê┬╠═#ê┬╬╧#ê┬╨╤#ê┴ç" [icon-mode-map make-sparse-keymap define-key "{" electric-icon-brace "}" "" mark-icon-function "" beginning-of-icon-defun "" end-of-icon-defun "" indent-icon-exp "" backward-delete-char-untabify " " icon-indent-command] 4)
(defvar icon-mode-syntax-table nil "\
Syntax table in use in Icon-mode buffers.")
(byte-code "¼▌┴ ┬├─#ê┬┼╞#ê┬╟╚#ê┬╔╩#ê┬╦╩#ê┬╠╩#ê┬═╩#ê┬╬╩#ê┬╧╩#ê┬╨╩#ê┬╤╩#ê┬╥╩#ê┬╙╩#ê┬╘╩#ê┬╒╓#ê┴ç" [icon-mode-syntax-table make-syntax-table modify-syntax-entry 92 "\\" 35 "<" 10 ">" 36 "." 47 42 43 45 61 37 60 62 38 124 39 "\""] 4)
(defconst icon-indent-level 4 "\
*Indentation of Icon statements with respect to containing block.")
(defconst icon-brace-imaginary-offset 0 "\
*Imagined indentation of a Icon open brace that actually follows a statement.")
(defconst icon-brace-offset 0 "\
*Extra indentation for braces, compared with other text in same context.")
(defconst icon-continued-statement-offset 4 "\
*Extra indent for lines not starting new statements.")
(defconst icon-continued-brace-offset 0 "\
*Extra indent for substatements that start with open-braces.
This is in addition to icon-continued-statement-offset.")
(defconst icon-auto-newline nil "\
*Non-nil means automatically newline before and after braces
inserted in Icon code.")
(defconst icon-tab-always-indent t "\
*Non-nil means TAB in Icon mode should always reindent the current line,
regardless of where in the line point is when the TAB command is used.")
(fset 'icon-mode #[nil "└ ê┴\n!ê├┼╔\n!ê╦╠!ê═P╦╧!ê╦╨!ê╤╦╥!ê╙╦╘!ê╒╦╓!ê╫╦╪!ê┘╦┌!ê█╦▄!ê▌▐▀!ç" [kill-all-local-variables use-local-map icon-mode-map icon-mode major-mode "Icon" mode-name icon-mode-abbrev-table local-abbrev-table set-syntax-table icon-mode-syntax-table make-local-variable paragraph-start "^$\\|" page-delimiter paragraph-separate indent-line-function icon-indent-line require-final-newline t comment-start "# " comment-end "" comment-column 32 comment-start-skip "# *" comment-indent-hook icon-comment-indent run-hooks icon-mode-hook] 2 "\
Major mode for editing Icon code.
Expression and list commands understand all Icon brackets.
Tab indents for Icon code.
Paragraphs are separated by blank lines only.
Delete converts tabs to spaces as it moves back.
\\{icon-mode-map}
Variables controlling indentation style:
icon-tab-always-indent
Non-nil means TAB in Icon mode should always reindent the current line,
regardless of where in the line point is when the TAB command is used.
icon-auto-newline
Non-nil means automatically newline before and after braces
inserted in Icon code.
icon-indent-level
Indentation of Icon statements within surrounding block.
The surrounding block's indentation is the indentation
of the line on which the open-brace appears.
icon-continued-statement-offset
Extra indentation given to a substatement, such as the
then-clause of an if or body of a while.
icon-continued-brace-offset
Extra indentation given to a brace that starts a substatement.
This is in addition to icon-continued-statement-offset.
icon-brace-offset
Extra indentation for line if it starts with an open brace.
icon-brace-imaginary-offset
An open brace following other text is treated as if it were
this far to the right of the start of its line.
Turning on Icon mode calls the value of the variable icon-mode-hook with no args,
if that value is non-nil." nil])
(fset 'icon-comment-indent #[nil "└┴!½é┬çè├─xên½â┬¬éiT])ç" [looking-at "^#" 0 " " nil comment-column] 2])
(fset 'electric-icon-brace #[(arg) "└\n¼╢l½│è├└xên)¼ë½º┼ ê╞ êcê┼ ê½è╞ ê`╚Z┼ êè ½ä Tbê╔╩!ê) ½îè bê╦╠\n!!)¬à╦╠\n!!)ç" [nil insertpos arg " " icon-auto-newline icon-indent-line newline last-command-char 2 delete-char -1 self-insert-command prefix-numeric-value] 3 "\
Insert character and correct line's indentation." "P"])
(fset 'icon-indent-command #[(&optional whole-exp) "½¡┴ ┬ëè½â╟yê`╚╔!ê`bê╔yê`)V¡å╩╦$+ç¼îè╠┬xên)¼â═ ç┴ ç" [whole-exp icon-indent-line nil end beg shift-amt icon-tab-always-indent 0 forward-sexp 1 indent-code-rigidly "#" " " insert-tab] 5 nil "P"])
(fset 'icon-indent-line #[nil "└┴!┴ëëd`Z╟yê`┴=½å╚ ¬╪╔=½å╩ ¬╠╦╠!½à╟¬┬═┴wê<½à@╦╬!½É╦╧!¼ïè╨ ê╚ )¬ƒg╤U¼à╦╥!½ëZ¬îg╘U½ç\\═┴wêiZë╟U½Äd\nZ`V½¢d\nZbê¬ö`|êjêd\nZ`V½àd\nZbê-ç" [calculate-icon-indent nil pos case-fold-search shift-amt beg indent 0 current-indentation t calculate-icon-indent-within-comment looking-at "[ ]*#" " " "else\\b" "else\\s_" icon-backward-to-start-of-if 125 "end\\b" icon-indent-level 123 icon-brace-offset] 7 "\
Indent current line as Icon code.
Return the amount the indentation changed by."])
(fset 'calculate-icon-indent #[(&optional parse-start) "è└yê`┴ëëë½åbê¬â╚ `W½É`╔`└#ëA@¬j╩8¼à╦8½å╦8éσ ½Äf╠U¼êTbêiéσ \n½É═e!ê╬ ½àéσ └¬ ¼à╚ ê`bê═!ê╬ ½ƒ╨!êièbê╤┴wêg)╠=½ä¬ü└\\\\¬╠bêè╙╘!½å╒╩!ê¬â╓uê╫┴wê╙╪!½à╓yê¬r`W¡üi)«ón½ì└U½ç\\¬é╤┴xên½â└¬é▄ \\\\.ç" [0 nil toplevel containing-sexp state case-fold-search indent-point parse-start beginning-of-icon-defun parse-partial-sexp 3 4 123 icon-backward-to-noncomment icon-is-continuation-line icon-continued-statement-offset icon-backward-to-start-of-continued-exp " " icon-continued-brace-offset looking-at "procedure\\s " forward-sexp 1 " \n" "#" icon-indent-level icon-brace-offset icon-brace-imaginary-offset current-indentation] 6 "\
Return appropriate indentation for current line as Icon code.
In usual case returns an integer: the column to indent to.
Returns nil if line starts inside a string, t if in a comment."])
(byte-code "└┬├Mê─┼Mê╞╟Mê╚╔Mç" [(("by" . t) ("case" . t) ("create") ("do") ("dynamic" . t) ("else") ("every" . t) ("if" . t) ("global" . t) ("initial" . t) ("link" . t) ("local" . t) ("of") ("record" . t) ("repeat" . t) ("static" . t) ("then") ("to" . t) ("until" . t) ("while" . t)) icon-resword-alist icon-is-continuation-line #[nil "hëzë┬=½Å├─vê`┼vê`{\"¬ä╟>?*ç" [ch ch-syntax 119 assoc -1 1 icon-resword-alist (0 59 125 123 41 93 34 39 10)] 4] icon-backward-to-noncomment #[(lim) "└ë ?¡í├xê`┼yê╞╟`\n\"8½ï`W½å╚╔!ê¬`╩ë¬\\*ç" [nil stop opoint " \n" lim 0 5 parse-partial-sexp search-backward "#" t] 5] icon-backward-to-start-of-continued-exp #[(lim) "h└>½ä┴┬!ê├yê─┼wê`X½àTbç╟ ¼é├çgz╚=½æ╔`è╩vê`){\"A½é├ç├ê╠!ç" [(41 93) forward-sexp -1 0 " " nil lim icon-is-continued-line 119 assoc 1 icon-resword-alist icon-backward-to-start-of-continued-exp] 3] icon-is-continued-line #[nil "è└ê┴ )ç" [0 icon-is-continuation-line] 1]] 2)
(fset 'icon-backward-to-start-of-if #[(&optional limit) "¼çè┴ ê`)┬├╞U?¡ª╟┬!ê╚╔!½åTë¬l╚╩!½åSë¬a`W½[╞bê¬T*ç" [limit beginning-of-icon-defun 1 nil case-fold-search if-level 0 backward-sexp looking-at "else\\b" "if\\b"] 3 "\
Move to the start of the last ``unbalanced'' if."])
(fset 'mark-icon-function #[nil "└`!ê┴ ê└`!ê┬yê├ ç" [push-mark end-of-icon-defun -1 beginning-of-icon-defun] 2 "\
Put mark at end of Icon function, point at beginning." nil])
(fset 'beginning-of-icon-defun #[nil "└┴e┬#½ä├─!ç┼ç" [re-search-backward "^procedure\\s \\|^end[ \n]" move looking-at "e" t] 4 "\
Go to the start of the enclosing procedure; return t if at top level." nil])
(fset 'end-of-icon-defun #[nil "o¼â└uê┴┬d├#ê└vê─yç" [-1 re-search-forward "\\(\\s \\|^\\)end\\(\\s \\|$\\)" move 1] 4 nil nil])
(fset 'indent-icon-exp #[nil "└C`C└ëëëëëëëëëë`┴ \nè╤╥!ê)è└m?à╜?à╜\n└¼╬m½å╒ë¼┼\n ╓`└ê`└ë\n%ë\n@\nAA@½É\nAA@┴Y½ç\nAA@╫ 8½â╪ ê┘\n8½à╥yê¬4╒ë½2\n┴X½â╒¼\nU¼â└\nV½ÆAASë¬j\nW½ö└B└BTë¬h@¼æ\nA@«çè╤┌!ê`)áê╥yê█└wêlä5 @½╒@┴Y½╬@f▄U¼ç@¬╓è▌▐!g▄U▀!êα ½ùß@!ê\"i½ä#¬ü┴\\\\¬ô½èΣ!êσ ¬à@)¬ùµ@¡ä@[!''ëáê)gΦU¼à▌Θ!½ç*Zg▄U½ç+\\iU¼ï`┴yê`|êjê▌,!ä5 φ,è└ê`)╒#â5 ε ê┴yêé5 .ç" [nil 0 next-depth opoint at-do at-brace at-else last-sexp this-indent ostate state inner-loop-done outer-loop-done restart case-fold-search contain-stack indent-stack forward-sexp 1 last-depth innerloop-done t parse-partial-sexp 4 icon-indent-line 3 -1 " " 123 looking-at "else\\W" icon-backward-to-noncomment icon-is-continuation-line icon-backward-to-start-of-continued-exp icon-continued-statement-offset icon-continued-brace-offset icon-backward-to-start-of-if current-indentation calculate-icon-indent val 125 "end\\b" icon-indent-level icon-brace-offset comment-start-skip re-search-forward indent-for-comment] 16 "\
Indent each line of the Icon grouping following point." nil])